About Jackson software diagrams

Use the Jackson template to create data structure diagrams, system network diagrams, and program structure diagrams that conform to the Jackson software design method. This design method covers a system's life cycle from analysis to physical design. This method emphasizes the actions of a system in terms of the effect they have on the input and output data streams, rather than emphasizing direct functional tasks.

Use this method to create hierarchical, tree structure diagrams.

Click to show or hide information. Show me an example

Jackson data structure diagram

You can also create diagrams composed of these construct types: sequence, selection, iteration, and elementary.

Click to show or hide information. Show me an example

Jackson system network diagram

Create a diagram using the Jackson method


Create a system network diagram (Jackson notation)

Click to show or hide information. Show me an example

Jackson system network diagram

  1. On the File menu, point to New, point to Software, and then click Jackson.
  2. Use the Ellipse tool [image] to draw circles to represent data streams; use the Rectangle tool [image] to draw rectangles to represent programs.
  3. Add text to a shape by selecting a shape, and then typing.
  4. Use the Connector tool [image] to connect the data stream and program shapes and represent the flow of the data stream.


Create a data structure diagram (Jackson notation)

Jackson data structure diagram

  1. On the File menu, point to New, point to Software, and then click Jackson.
  2. Drag the Process shape onto the drawing page from the Jackson stencil.
  3. Set the component type.

Click to show or hide information. How?

Right-click a Process, Procedure, or Procedure 2 shape on your diagram, and then click one of the following:

  • No Symbol to represent a sequence or elementary component.
  • Show Asterisk to represent an iteration.
  • Show Circle to represent a selection.

  4. Name the process.
  5. Annotate the process or hide the default text below the process.

Click to show or hide information. How?

To hide the note, right-click the shape, and then click Hide Note. To show the note later, right-click the shape, and then click Show Note.

  6. Repeat steps 2-5 to add another process to your diagram.
  7. Drag the Tree connector shape from the Jackson stencil onto the drawing page and connect the two Process shapes.

Click to show or hide information. How?

  1. Glue an endpoint [image] on the Tree connector shape to a connection point [image] on a Process or Procedure shape.
  2. Drag the control handles [image] at the ends of the branches on the Tree connector shape to connection points [image] on other shapes.
  3. Drag the control handle [image] in the center of the Tree connector shape to add up to four more branches.
  4. To add text to the connector, select the shape, and then type. To reposition the text, drag the control handle [image] in the center of the text.


Create a program structure diagram (Jackson notation)

Jackson program structure diagram

  1. On the File menu, point to New, point to Software, and then click Jackson.
  2. Drag the Process shape onto the drawing page from the Jackson stencil.
  3. Set the component type.

Click to show or hide information. How?

Right-click a Process, Procedure, or Procedure 2 shape on your diagram, and then click one of the following:

  • No Symbol to represent a sequence or elementary component.
  • Show Asterisk to represent an iteration.
  • Show Circle to represent a selection.

  4. Name the process.
  5. Annotate the process or hide the default text below the process.

Click to show or hide information. How?

To hide the note, right-click the shape, and then click Hide Note. To show the note later, right-click the shape, and then click Show Note.

  6. Repeat steps 2-5 to add another process to your diagram.
  7. Drag the Tree Connector shape from the Jackson stencil onto the drawing page and connect the two Process shapes.

Click to show or hide information. How?

  1. Glue an endpoint [image] on the Tree connector shape to a connection point [image] on a Process or Procedure shape.
  2. Drag the control handles [image] at the ends of the branches on the Tree connector shape to connection points [image] on other shapes.
  3. Drag the control handle [image] in the center of the Tree connector shape to add up to four more branches.
  4. To add text to the connector, select the shape, and then type. To reposition the text, drag the control handle [image] in the center of the text.


About designing system network diagrams (Jackson notation)

A system network diagram is a top-level view of a software system that shows interaction between processes. Each data stream is described in more detail by a data structure diagram; each program is described in more detail by a program structure diagram. System network diagrams are similar to data flow diagrams except the notation and rules are different.

When creating a system network diagram, use

  • Circles to represent data streams, and rectangles to represent programs.
  • Arrows to represent the flow of data streams in and out of programs.

Follow these rules:

  • Use an arrow to connect a circle and a rectangle, but not two circles or two rectangles.
  • Each circle can have only one arrow pointing away from it and one arrow pointing toward it.


About designing tree structure diagrams (Jackson notation)

Tree structure diagrams are composed of four basic components: sequence, selection, iteration, and elementary. Components consist of component parts, except for an elementary component, which is the lowest component in a tree structure. You can determine the component type by its parts.

Click to show or hide information. Sequence and elementary components

Sequence components consist of elementary component parts that occur in a specific order, left to right. The leftmost component part occurs first and the rightmost part occurs last. Elementary components are represented by a rectangle with no notation in the top right corner. An elementary component has no structure, or parts, of its own.

Component A is a sequence, and B and C represent component parts of the sequence. In this case, B and C are elementary components.

Component A is a sequence, and B and C represent component parts of the sequence. In this case, B and C are elementary components.

Click to show or hide information. Selection components

Selection components consist of two or more component parts; however, only one part occurs for each component. Selection component parts contain a circle in the top right corner of the shape.

Component X is a selection. Components Y and Z are component parts of the selection.

Component X is a selection. Components Y and Z are component parts of the selection.

Click to show or hide information. Iteration components

Iteration components include one component that may occur once, many times, or not at all. Iteration component parts contain an asterisk in the top right corner.

Component E is an iteration, and F is the iteration component part. The number of component parts is controlled by the specified condition.

Component E is an iteration, and F is the iteration component part. The number of component parts is controlled by the specified condition.

Follow these rules:

  • Include only one component part for an iteration component.
  • Don't mix component parts. For example, you can't include an iteration component part and an elementary component part for the same component type.
  • Don't connect a component part to a component on a different level.


Create a software diagram (Jackson notation)

  1. Analyze the data your program uses with data structure diagrams.

Click to show or hide information. Show me an example

Jackson data structure diagram

About designing tree structure diagrams

Create a data structure diagram

  2. Design the input and output data streams using a system network diagram.

Click to show or hide information. Show me an example

Jackson system network diagram

About designing system network diagrams

Create a system network diagram

  3. Create program structure diagrams based on your data structure diagrams.

Click to show or hide information. Show me an example

Jackson program structure diagram

About designing tree structure diagrams

Create a program structure diagram

Once you have completed these structures, you can define and allocate tasks to the components of your program structure, and convert the program structure into computer programming code.

For information about the Jackson method, refer to Program Design Using JSP: A Practical Introduction by M.J. King and J.P. Pardoe (Macmillan Press Ltd., 1992).


Set component types (Jackson notation)

Right-click a Process, Procedure, or Procedure 2 shape on your diagram, and then click one of the following:

  • No Symbol to represent a sequence or elementary component.
  • Show Asterisk to represent an iteration.
  • Show Circle to represent a selection.


Use Tree Connector shapes (Jackson notation)

  1. Glue an endpoint [image] on the Tree connector shape to a connection point [image] on a Process or Procedure shape.
  2. Drag the control handles [image] at the ends of the branches on the Tree connector shape to connection points [image] on other shapes.
  3. Drag the control handle [image] in the center of the Tree connector shape to add up to four more branches.
  4. To add text to the connector, select the shape, and then type. To reposition the text, drag the control handle [image] in the center of the text.


Use Process and Procedure shapes (Jackson notation)

Do any of the following:

  • To set the component type, right-click the shape, and then click No Symbol, Show Asterisk, or Show Circle.
  • To annotate the shape, subselect the text below the shape, and then type to replace the text.

To hide the note, right-click the shape, and then click Hide Note. To show the note later, right-click the shape, and then click Show Note.

  • To reposition the note, drag the control handle [image] on the note.
  • To reposition the inside lines on Procedure shapes, drag the control handles [image] on the shape.